Konsep asas Pengaturcaraan berorientasi objek

  • Kelas (class) — sebuah kelas mentakrifkan ciri-ciri abstrak bagi sesuatu benda. Ini termasuklah sifat-sifat yang ada padanya dan peranannya. Contohnya, kelas Kucing akan terdiri dari sifat-sifat yang ada pada kucing (baka, bulu, jantina dan sebagainya).
  • Objek (object) — tentuan (instance) bagi suatu kelas. Kelas Kucing memiliki semua sifat yang mungkin ada pada seekor kucing, manakala objek SiComel memiliki sifat-sifat yang tertentu sahaja. Kucing mempunyai bulu, SiComel mempunyai bulu putih bertompok hitam.
  • Kaedah (method) — kebolehan bagi sebuah objek. SiComel, sebagai seekor Kucing, mempunyai kebolehan mengiau. Maka mengiau() ialah salah satu kaedah bagi SiComel. SiComel juga boleh memiliki kaedah lain, umpamanya makan() atau berlari(). Dalam sebuah atur cara, penggunaan satu kaedah hanya berkesan pada objek yang ditentukan sahaja, semua Kucing boleh mengiau, tetapi anda mesti ada seekor sahaja untuk mengiau.
  • Pewarisan (inheritance) — Lazimnya sebuah kelas boleh memiliki "subkelas" yang mengkhususkan kelas tersebut. Contohnya, kelas Kucing boleh mempunyai subkelas KucingSiam, KucingBurma dan KucingParsi. Semua subkelas ini akan "mewarisi" segala sifat yang ada pada keturunannya; contohnya apabila kelas Kucing memiliki kaedah mengiau(), maka setiap subkelasnya (KucingSiam, KucingBurma dan KucingParsi) juga akan memiliki kaedah mengiau. Ini bermakna bahawa seorang pengaturcara akan menulis kaedah ini sekali sahaja. Subkelas boleh "mentakrifkan semula" (mengubah), menyekang atau menambah ciri-ciri yang tidak ada pada kelas asalnya. Contohnya Kucing memiliki sifat bulu, maka KucingSiam menentukan sifat bulu kepada 'licin dan berkilat'.
  • Pengkapsulan (encapsulation) — Mengasingkan pelaksanaan (implementasi) daripada antaramuka
  • Pengabstrakan (abstraction)
  • Polimorfisme (polymorphism) — Menggunakan nama yang sama untuk memulakan operasi yang berlainan pada objek yang menggunakan jenis data berbeza.